package br.org.acessobrasil.processoacessibilidade.vo;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name="relatorio")
public class RelatorioAcessibilidadePro implements Serializable {
	
	private static final long serialVersionUID = 3423937138606075292L;

	@Id
	@GeneratedValue
	private Long idRelatorio;
	
	@ManyToOne
	private PaginaPro pagina;
	
	@Temporal(TemporalType.TIMESTAMP)
	private Date dataGerada;
	
	public Date getDataGerada() {
		return dataGerada;
	}

	public void setDataGerada(Date dataGerada) {
		this.dataGerada = dataGerada;
	}

	@OneToMany(cascade = CascadeType.ALL)
	@JoinTable(name="relatorio_errop1")
	private List<ErrosRegraPro> listErroP1;
	
	@OneToMany(cascade = CascadeType.ALL)
	@JoinTable(name="relatorio_errop2")
	private List<ErrosRegraPro> listErroP2;
	
	@OneToMany(cascade = CascadeType.ALL)
	@JoinTable(name="relatorio_errop3")
	private List<ErrosRegraPro> listErroP3;
	
	@OneToMany(cascade = CascadeType.ALL)
	@JoinTable(name="relatorio_avisop1")
	private List<ErrosRegraPro> listAvisoP1;
	
	@OneToMany(cascade = CascadeType.ALL)
	@JoinTable(name="relatorio_avisop2")
	private List<ErrosRegraPro> listAvisoP2;
	
	@OneToMany(cascade = CascadeType.ALL)
	@JoinTable(name="relatorio_avisop3")
	private List<ErrosRegraPro> listAvisoP3;
	
	@OneToMany(cascade = CascadeType.ALL)
	@JoinTable(name="relatorio_erroxhtml")
	private List<ErrosRegraPro> listErroXHTML;

	public Long getIdRelatorio() {
		return idRelatorio;
	}

	public void setIdRelatorio(Long idRelatorio) {
		this.idRelatorio = idRelatorio;
	}

	public List<ErrosRegraPro> getListErroP1() {
		return listErroP1;
	}
	public void setListErroP1(List<ErrosRegraPro> listErroP1) {
		this.listErroP1 = listErroP1;
	}
	public List<ErrosRegraPro> getListErroP2() {
		return listErroP2;
	}
	public void setListErroP2(List<ErrosRegraPro> listErroP2) {
		this.listErroP2 = listErroP2;
	}
	public List<ErrosRegraPro> getListErroP3() {
		return listErroP3;
	}
	public void setListErroP3(List<ErrosRegraPro> listErroP3) {
		this.listErroP3 = listErroP3;
	}
	public List<ErrosRegraPro> getListAvisoP1() {
		return listAvisoP1;
	}
	public void setListAvisoP1(List<ErrosRegraPro> listAvisoP1) {
		this.listAvisoP1 = listAvisoP1;
	}
	public List<ErrosRegraPro> getListAvisoP2() {
		return listAvisoP2;
	}
	public void setListAvisoP2(List<ErrosRegraPro> listAvisoP2) {
		this.listAvisoP2 = listAvisoP2;
	}
	public List<ErrosRegraPro> getListAvisoP3() {
		return listAvisoP3;
	}
	public void setListAvisoP3(List<ErrosRegraPro> listAvisoP3) {
		this.listAvisoP3 = listAvisoP3;
	}
	public List<ErrosRegraPro> getListErroXHTML() {
		return listErroXHTML;
	}
	public void setListErroXHTML(List<ErrosRegraPro> listErroXHTML) {
		this.listErroXHTML = listErroXHTML;
	}
	
	public PaginaPro getPagina() {
		return pagina;
	}

	public void setPagina(PaginaPro pagina) {
		this.pagina = pagina;
	}
}
